﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Collections.Observable;

namespace System.Collections.Observable
{
    [Serializable]
    public class ObservableCollection<T>: ObservableListBase<T, Collection<T> >
    {
        // Summary:
        //     Initializes a new instance of the ObservableCollection<T>
        //     class that is empty.        
        public ObservableCollection():
        base(new Collection<T>())
        {}

        //
        // Summary:
        //     Initializes a new instance of the ObservableCollection<T>
        //     class as a wrapper for the specified list.
        //
        // Parameters:
        //   list:
        //     The list that is wrapped by the new collection.
        //
        // Exceptions:
        //   System.ArgumentNullException:
        //     list is null.
        public ObservableCollection(IList<T> list):
            base(new Collection<T>(list))
        {}
    }
}
